package demo01;

import java.util.Scanner;
/*
 *  2. 二维数组
 *   
 *    56(用户输入的数据,5行6列)
 *    0-100赋值给上面这个二维数组
 *    
 *    打印这个二维数组:
 *    22 33 44 55 66 77 
 *    11 12 13 14 15 16								
 *    31 32 99 34 35 36
 *    41 42 43 44 45 48
 *    88 68 69 70 72 73
 *    
 *    元素所在的行和列都是最大的 就输出出来
*/
public class homework2 {
	public static void main(String[] args) {
		
		System.out.println("请输入行数和列数：");
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();//行数
		int m=sc.nextInt();//列数
		//产生的随机二位数组(表示行的数组)
		int [][] ary=new int[n][m];
		for (int i = 0; i < n; i++){
		     for (int j = 0; j < m; j++) {
		    	 ary[i][j]=(int)(Math.random()*100);
		     }
		}
		//将行与列翻转后(表示列的数组)
		 int [][] ary2=new int[m][n];
			for (int i = 0; i < m; i++){
			     for (int j = 0; j < n; j++) {
			    	 ary2[i][j]=ary[j][i];
			     }
			}
			//查看产生的随机数组
		 for (int i= 0; i<n; i++){
		     for (int j=0; j<m; j++) {
		    	 System.out.print(ary[i][j]+" "); 
		     }
		     System.out.println();
		 }
		 //处理
		 int [] max1=new int[n];
		 int [] max2=new int[m];
		 int a=0;
		 int b=0;
		 for(int i=0;i<ary.length;i++) {
			 //求行最大值
			 for (int j=0; j<ary[i].length; j++) {
					 if(ary[i][j]>max1[i]) {
						 max1[i]=ary[i][j];
					 }
				 }
			 //a,b 表示行最大值所在位置
			 a=i;
			 for (int j=0; j<m; j++) {
				 if(ary[i][j]==max1[i]) {
					b=j; 
				 }
			 }
			 //求行最大值所在列的最大值
			 for(int k=b;k<n;k++) {
				 for(int j=0;j<m;j++) {
					 if(ary2[b][j]>max2[i]) {
						 max2[i]=ary2[b][j];
					 }
				 }
			 }
			//判断行最大值是否为所在列最大值
			 if(max2[i]==max1[a]) {
				 System.out.println(max2[i]);
			 }else {
				 System.out.println("没有"); 
			 }
		 }
	}
}
